<!--
 * @Author: Bo Cai
 * @Mail: caibo0520@qq.com
 * @Date: 2021-11-20 14:42:29
 * @LastEditors: Bo Cai
 * @LastEditTime: 2021-12-24 23:33:56
-->
<template>
    <div>
        <!-- 阿里云视频播放器样式 -->
        <link
            rel="stylesheet"
            href="https://g.alicdn.com/de/prismplayer/2.9.16/skins/default/aliplayer-min.css"
        />
        <!-- 阿里云视频播放器脚本 -->
        <script
            type="text/javascript"
            charset="utf-8"
            src="https://g.alicdn.com/de/prismplayer/2.9.16/aliplayer-min.js"
        ></script>
        <!-- 定义播放器dom -->
        <div id="J_prismPlayer" class="prism-player" />
    </div>
</template>
<script>
import vod from '@/api/vod'
export default {
    layout: 'video', //应用video布局
    asyncData({ params, error }) {
        return vod.getPlayAuth(params.vid).then((response) => {
            return {
                vid: params.vid,
                playAuth: response.data.data.playAuth,
            }
        })
    },
    /**
     * 页面渲染完成时：此时js脚本已加载，Aliplayer已定义，可以使用
     * 如果在created生命周期函数中使用，Aliplayer is not defined错误
     */
    mounted() {
        new Aliplayer(
            {
                id: 'J_prismPlayer',
                width: '100%',
                height: '500px',
                qualitySort: 'asc', // 清晰度排序
                mediaType: 'video', // 返回音频还是视频
                autoplay: false, // 自动播放
                isLive: false, // 直播
                rePlay: false, // 循环播放
                preload: true, // 预加载
                controlBarVisibility: 'hover', // 控制条的显示方式：鼠标悬停
                useH5Prism: true, // 播放器类型：html5
                encryptType: '1', // 如果播放加密视频，则需设置encryptType=1，非加密视频无需设置此项
                vid: this.vid, // 视频id
                playauth: this.playAuth, // 播放凭证
                cover: '',
            },
            function (player) {
                console.log('播放器创建成功')
            }
        )
    },
}
</script>
